dashdashHARD

dashdashHARD

Exploring the depths of render.com

The Ultimate Guide to render.com's Free Tier

web service free tier

Will my app work on render?

What stacks work on Render’s free tier?

The answer is very probably yes. Render’s free plan has enough building blocks and leeway that you can get off the ground with just about any stack and without a credit card! Render does not require a credit card to get started, so you can experiment without having to worry about making surprising, expensive mistakes. If at any point you manage to hit a limit in instance hours or bandwidth, you are suspended, not billed.

So what is included in the free tier? Let’s break it down.

Static Sites

Static sites on render are free!

React? Vue? Client side Nextjs? Hugo? All free. Depending on your framework you might have to set a redirect or rewrite rule, so check the quickstarts for specific instructions to make your life easy.

Services

Web Services are the only server type available in the free tier. Render gives you 750 hours per month of free instance credit- that’s enough to have one free instance, running for the entire month, for free. You can run as many free tier services at once as you like, but you’ll be capped at 750 hours total, regardless of how many you use. These are public facing servers with 0.1 CPUs- that’s not a ton of compute power, but more than enough to get something working and keep it running.

To make deployment easy, Render has a set of languages and runtimes it supports out of the box, no docker needed. It’s as easy as connecting your github account and deploying the repo you want:

  • Python and all the popular web frameworks: django, flask, fastapi, you name it.
  • Node.js and the essential web frameworks like express and fastify. Also, node.js based projects like strapi are a breeze.
  • Ruby + rails
  • Golang
  • Elixir with Phoenix and LiveView of course!
  • Rust

You can use any other language you want, you just need to supply a dockerfile that builds your application inside of the container, and render takes care of the rest. For example, .NET apps work fine on render, you just need build them inside of a docker container. You can also use a docker registry and deploy images directly from there for the free tier.

Service Limitations

Services hosted on the free tier will automatically spin themselves down after 15 minutes of inactivity. They come back online once they receive traffic, but it’s a cold start: render rebuilds and redeploies your code and this could take time depending on your app’s size. If your app receives constant traffic, it will never go down.

In case you don’t get constant traffic, I’ve written a free tool to keep your free instances alive to make sure your free services never go down and suffer from a cold start.

The other most important limitation of the free tier is that you can’t attach a persistent disk to your free services. That means it’s going to be difficult to use SQLite since you won’t have a local disk to write to.

There are other limitations of free services, but they tend to be very specific and less important for getting started.

Redis

Render gives you a free redis instance each month! It’s small, just 25MB, but works great as an in-memory cache.

Redis Limitations

The free tier doesn’t back up to disk, it is entirely in memory. If the instance is restarted, for example during maintenance, the data in the cache will be gone.

Data Storage

Postgres

Render gives us one, free postgres instance that lasts for 90 days. It has 1GB disk, 256MB RAM and 0.1 CPU, so it’s great for the small workloads of a free tier app.

Data Storage Limitations

You can only have one free postgres instance at a time.

The free tier has no backups or restoring ability. At the end of the 90 days the database is suspended and the data is inaccessible unless you upgrade. If you need to pull your data out at any time during your 90 days, pg_dump works great for pulling your data out.

What about Mongo? I use the MERN stack!

You can host lots of other datastores like mongoDB or MySQL yourself inside of render, but they will be deployed onto a web server, which eats into your monthly free tier allowance and need to be kept alive. It’s simpler and less error prone to use external hosting services like MongoDB Atlas’ free tier and host your application code in render.